package com.tool.xmltool.gateway;


import com.tool.xmltool.entry.ComXmlConfigDO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * xml配置接口
 *
 * @author zhoubin
 * @date 2022-04-24
 */
public interface ComXmlConfigGateway {
    /**
     * 通过id删除
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Long id);

    /**
     * 向表中插入数据
     * @param record
     * @return
     */
    int insert(ComXmlConfigDO record);

    /**
     * 选择性插入数据
     * @param record
     * @return
     */
    int insertSelective(ComXmlConfigDO record);

    /**
     * 根据id查询数据
     * @param id
     * @return
     */
    ComXmlConfigDO selectByPrimaryKey(Long id);

    /**
     * 根据id更新数据
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(ComXmlConfigDO record);

    /**
     * 根据id更新数据
     * @param record
     * @return
     */
    int updateByPrimaryKey(ComXmlConfigDO record);

    /**
     * 通过报文类型查找业务语义与xpath对应关系
     * @param msgType 报文类型
     * @return
     */
    List<ComXmlConfigDO> selectByMsgType(String msgType);

    /**
     * 通过父类型查找业务语义与xpath对应关系
     * @param msgType 报文类型
     * @param busSem 父类型的业务语义
     * @return
     */
    List<ComXmlConfigDO> selectByParentPath(@Param("msgType") String msgType, @Param("busSem") String busSem);
}